package cn.edu.zufe.mjt.hash;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 * 塔子哥的口袋2
 * <a href="https://www.bilibili.com/video/BV1cxtMz1Eii?spm_id_from=333.788.videopod.sections&vd_source=4e22d3ff754e74caa9cf85e304fe5453">
 *     B站视频</a>
 * <p>
 *     问题描述：给定一个长度为n的数组，并给定m个询问，每个询问给定两个整数x和y
 *     1. 对于每个询问，输出x在数组第y次出现的位置（位置从1开始计数），如果出现次数不足，则输出-1。
 *
 * </p>
 */

public class HashQuestion {
    public static void main(String[] args) {
        Map<Integer, ArrayList<Integer>> map = new HashMap<>();

        Scanner scanner = new Scanner(System.in);

        int n = scanner.nextInt();
        int m = scanner.nextInt();

        for (int i = 0; i < n; i++) {
            int x = scanner.nextInt();
            if (map.containsKey(x)) {
                map.get(x).add(i+1);
            }
            else {
                ArrayList<Integer> list = new ArrayList<>();
                list.add(i+1);
                map.put(x, list);
            }
        }

        for (int i = 0; i < m; i++) {
            int x = scanner.nextInt();
            int y = scanner.nextInt();
            if (map.get(x) != null && map.get(x).size() >= y) {
                System.out.println(map.get(x).get(y - 1));
            } else {
                System.out.println(-1);
            }
        }
    }
}
